using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using NhanVien;
using System.Data.SqlClient;

namespace NhanVien.NhanVien
{
    class NhanVienDAO
    {
        private Database db;
        private DataTable nvDT;
        private DataTable pbDT;
        private DataTable cvDT;        

        public NhanVienDAO()
        {
            db = new Database();
        }

        public DataTable LayDanhSachNhanVien()
        {
            nvDT = db.Execute("select n.MaNhanVien, n.HoNhanVien, n.TenNhanVien, n.NgaySinh, n.DiaChi, n.DienThoai, p.TenPhongBan, c.TenChucVu from NHANVIEN n, PHONGBAN p, CHUCVU c where n.MaPhongBan=p.MaPhongBan and n.MaChucVu=c.MaChucVu");
            return nvDT;
        }

        public DataTable LayDanhSachPhongBan()
        {
            pbDT = db.Execute("select * from PHONGBAN");
            return pbDT;
        }

        public DataTable LayDanhSachChucVu()
        {
            cvDT = db.Execute("select * from CHUCVU");
            return cvDT;
        }

        public void ThemNhanVien(NhanVienDTO nhanVien)
        {
            string strQuery = String.Format("insert into NHANVIEN(HoNhanVien, TenNhanVien, NgaySinh, DiaChi, DienThoai, MaPhongBan, MaChucVu) values(N'{0}', N'{1}', '{2}', N'{3}', N'{4}', '{5}', '{6}')",
                nhanVien.Ho, nhanVien.Ten, nhanVien.NgaySinh, nhanVien.DiaChi, nhanVien.DienThoai, nhanVien.MaPhongBan, nhanVien.MaChucVu);            
            db.ExecuteNonQuery(strQuery);
        }

        public void XoaNhanVien(int index)
        {
            string strQuery = String.Format("delete from NHANVIEN where MaNhanVien = {0}", nvDT.Rows[index]["MaNhanVien"]);
            db.ExecuteNonQuery(strQuery);
            LayDanhSachNhanVien();
        }

        public void SuaNhanVien(int index, NhanVienDTO nhanVien)
        {
            string strQuery = String.Format("update NHANVIEN set HoNhanVien = N'{0}', TenNhanVien = N'{1}', NgaySinh = '{2}', DiaChi = N'{3}', DienThoai = N'{4}', MaPhongBan = {5}, MaChucVu = {6} where MaNhanVien = {7}", 
                nhanVien.Ho, nhanVien.Ten, nhanVien.NgaySinh, nhanVien.DiaChi, nhanVien.DienThoai, nhanVien.MaPhongBan, nhanVien.MaChucVu, nvDT.Rows[index]["MaNhanVien"]);
            db.ExecuteNonQuery(strQuery);
            LayDanhSachNhanVien();
        }
            
    }
}
